/* 自定义指令 实现按钮的权限管理 */
import pinia from '@/store'
import useUserStore from '@/store/modules/user'
//获取对应的用户仓库
const userStore = useUserStore(pinia)
export const isHasButton = (app: any) => {
  //全局自定义指令:实现按钮的权限管理
  app.directive('has', {
    //使用v-has全局自定义指令的DOM|组件挂载完毕的时候会自动执行一次mounted钩子函数, el:指令绑定的那个DOM元素, options:指令的相关信息对象(可以拿到自定义指令的值)
    mounted(el: any, options: any) {
      //如果在用户信息buttons数组当中没有自定义指令右侧的数值,则从DOM树上删除该DOM元素(button)
      if (!userStore.buttons.includes(options.value)) {
        el.parentNode.removeChild(el)
      }
    },
  })
}
